function isClosedString(s) {
    // 有效的括号字符数量一定要偶数
    if(s.length %2 !==0){return false;}
    const stack=[];
    const map={
        "(":")",
        "{":"}",
        "[":"]"
    };
    for(let x of s){
        if (x in map) {
            // 先右括号入栈
            stack.push(x);
            continue;
        };
        // 后遇到的一定先pop
        if (map[stack.pop()] != x) {
            // 判断是否存在对应左括号
            return false;
        }
    }
    // 若栈内元素还有剩余，则代表元素没有一一对应
    return stack.length==0;
}
